/*
 **        DroidPlugin Project
 **
 ** Copyright(c) 2015 Andy Zhang <zhangyong232@gmail.com>
 **
 ** This file is part of DroidPlugin.
 **
 ** DroidPlugin is free software: you can redistribute it and/or
 ** modify it under the terms of the GNU Lesser General Public
 ** License as published by the Free Software Foundation, either
 ** version 3 of the License, or (at your option) any later version.
 **
 ** DroidPlugin is distributed in the hope that it will be useful,
 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 ** Lesser General Public License for more details.
 **
 ** You should have received a copy of the GNU Lesser General Public
 ** License along with DroidPlugin.  If not, see <http://www.gnu.org/licenses/lgpl.txt>
 **
 **/

package com.example.plugin.utils;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
import java.util.List;

/**
 * Created by Andy Zhang(zhangyong232@gmail.com)ClassUtils on 2015/3/25.
 */
public class MyProxy {

	public static Object newProxyInstance(ClassLoader loader,
			Class<?>[] interfaces, InvocationHandler invocationHandler) {
		return Proxy.newProxyInstance(loader, interfaces, invocationHandler);
	}

	public static Object newProxyInstance(ClassLoader loader,
			List<Class<?>> interfaces, InvocationHandler invocationHandler) {
		Class<?>[] ifs = ListUtils.isEmpty(interfaces) ? new Class[0] : interfaces.toArray(new Class[interfaces.size()]);
		return Proxy.newProxyInstance(loader, ifs, invocationHandler);
	}
}
